package system

import (
	Controllers "gin-worked/app/system/controllers"
	"gin-worked/app/system/middleware"
	"github.com/gin-gonic/gin"
)

func Router(r *gin.Engine) {
	
	r.POST("system/login/login", Controllers.SystemController{}.Login) //登录
	system := r.Group("system/", middleware.SystemMiddleware, middleware.AuthMiddleware)
	{
		system.GET("system/info", Controllers.SystemController{}.Info)                //后台管理人员详情
		system.GET("system/list", Controllers.SystemController{}.List)                //获取后台管理人员列表
		system.POST("system/add", Controllers.SystemController{}.Add)                 //添加后台管理人员
		system.POST("system/edit", Controllers.SystemController{}.Edit)               //编辑后台管理人员
		system.POST("system/editPwd", Controllers.SystemController{}.EditPwd)         //编辑后台管理人员
		system.POST("system/editStatus", Controllers.SystemController{}.EditStatus)   //编辑后台管理人员状态
		system.POST("system/editHeadImg", Controllers.SystemController{}.EditHeadImg) //编辑后台管理人员头像

		//文件上传
		//system.POST("file/upload", Controllers.FileController{}.Upload) //后台管理人员详情

		//菜单管理
		system.POST("menu/add", Controllers.MenuController{}.Add)             //添加菜单
		system.POST("menu/listTree", Controllers.MenuController{}.ListTree)   //获取菜单树结构
		system.POST("menu/list", Controllers.MenuController{}.List)           //获取菜单列表 默认获取顶级菜单；传id时获取下级菜单
		system.POST("menu/info", Controllers.MenuController{}.Info)           //获取菜单详情
		system.POST("menu/edit", Controllers.MenuController{}.Edit)           //编辑菜单
		system.POST("menu/setStatus", Controllers.MenuController{}.SetStatus) //编辑菜单
		system.POST("menu/del", Controllers.MenuController{}.Del)             //编辑菜单

		//角色管理
		system.POST("role/list", Controllers.RoleController{}.List) //角色列表
		system.POST("role/add", Controllers.RoleController{}.Add)   //添加角色
		system.POST("role/info", Controllers.RoleController{}.Info) //角色详情
		system.POST("role/edit", Controllers.RoleController{}.Edit) //角色编辑
		system.POST("role/del", Controllers.RoleController{}.Del)   //角色删除

		//角色菜单管理
		system.POST("menu_role/list", Controllers.MenuRoleController{}.List) //角色删除
		system.POST("menu_role/add", Controllers.MenuRoleController{}.Add)   //角色删除

		//管理员角色管理
		system.POST("system_role/list", Controllers.SystemRoleController{}.List) //角色 人员列表
		system.POST("system_role/add", Controllers.SystemRoleController{}.Add)   //管理员关联角色
		system.POST("system_role/edit", Controllers.SystemRoleController{}.Edit) //管理员修改关联角色
		system.POST("system_role/del", Controllers.SystemRoleController{}.Del)   //删除管理员关联角色

		//数据表生成  开发时使用上线之后请关闭这个功能
		system.POST("data_sheet/list", Controllers.DataSheetController{}.List)              //数据表列表
		system.POST("data_sheet/add", Controllers.DataSheetController{}.Add)                //添加数据表(或者字段)
		system.POST("data_sheet/info", Controllers.DataSheetController{}.Info)              //数据表(或者字段)详情
		system.POST("data_sheet/edit", Controllers.DataSheetController{}.Edit)              // 删除数据表(或者字段)
		system.POST("data_sheet/del", Controllers.DataSheetController{}.Del)                // 删除数据表(或者字段)
		system.POST("data_sheet/select_sql", Controllers.DataSheetController{}.SelectSql)   // 查询数据表(或者字段)并且写入进data_sheet表
		system.POST("data_sheet/create_sql", Controllers.DataSheetController{}.CreateSql)   // 创建数据表及字段
		system.POST("data_sheet/create_file", Controllers.DataSheetController{}.CreateFile) // 创建对应的controller validate service 模型

	}
}
